package constant

type Education string

func (e Education) Value() string {
	return string(e)
}

func (e Education) Level() int {
	return EduLevel[e]
}

// SecondaryVocationalEdu: 18, // 中等职业教育
// AssociateDegree: 20, // 专科
var EduLevel = map[Education]int{ // 小学,初中,高中,中专,职高,技校,大专,本科,硕士,博士,博士后
	PrimarySchool:    1,  // 小学
	JuniorHighSchool: 10, // 初中

	SeniorHighSchool: 18, // 高中
	"中专":             18, // 中专
	"职高":             18, // 职高
	"技校":             18, // 技校

	"大专":         20, // 大专
	Bachelor:     25, // 本科,学士
	Master:       30, // 硕士
	PhD:          40, // 博士
	Postdoctoral: 40, // 博士后

	OtherEdu: 1, // 其他
}

const (
	// 基础教育阶段
	PrimarySchool          Education = "小学"     // account : 1
	JuniorHighSchool       Education = "初中"     // account : 5
	SeniorHighSchool       Education = "高中"     // account : 10
	SecondaryVocationalEdu Education = "中等职业教育" // 包括 中专:11、职高:12、技校:12 // account : 12

	// 高等教育阶段
	AssociateDegree Education = "专科"  // 大专// account : 20,  大专:13,
	Bachelor        Education = "本科"  // account : 25
	Master          Education = "硕士"  // account : 30
	PhD             Education = "博士"  // account : 40
	Postdoctoral    Education = "博士后" // account : 40

	// 其他教育阶段
	OtherEdu Education = "其他" // 成人教育、继续教育、培训班等 // account : 1
)
